package cn.faifai.web.api;

import cn.faifai.common.component.R;
import cn.faifai.tagapi.dto.DiskConfigDto;
import cn.faifai.tagapi.entity.DiskConfig;
import cn.faifai.tagapi.repository.DiskConfigRepository;
import cn.faifai.tagapi.utils.BeanUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

@RestController
@RequestMapping("/faifaiTag/diskConfig")
public class DiskConfigController {

    @Autowired
    private DiskConfigRepository diskConfigRepository;

    @PostMapping()
    public R save(@RequestBody DiskConfigDto diskConfigDto){
        return R.ok(diskConfigRepository.save(cn.hutool.core.bean.BeanUtil.toBean(diskConfigDto, DiskConfig.class)));
    }

    @PutMapping()
    public R update(@RequestBody DiskConfigDto diskConfigDTO) throws IllegalAccessException {
        DiskConfig entity = diskConfigRepository.findById(diskConfigDTO.getId()).orElseThrow(() -> new RuntimeException("Entity not found"));
        BeanUtil.copyPropertiesNonNull(diskConfigDTO,entity);
        return R.ok(diskConfigRepository.save(entity));
    }
}
